#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int fac[8]={1,2,4,8,16,32,64,128};
int m[200][200];
double dp[8][200],p[200][200];
int n;
void init()
{
	memset(m,0,sizeof(m));
	for(int i=1;i<=7;i++)
		for(int j=1;j<=fac[7];j++)
			for(int k=1;k<=fac[7];k++)
			{
				if(j==k)continue;
				if((j-1)/fac[i]==(k-1)/fac[i]&&!m[j][k])m[j][k]=i;
			}
}
int main()
{
	init();
	while(scanf("%d",&n)&&n!=-1)
	{
		for(int i=1;i<=fac[n];i++)
			for(int j=1;j<=fac[n];j++)
				scanf("%lf",&p[i][j]);
		for(int i=1;i<=fac[n];i++)dp[0][i]=1;
		for(int i=1;i<=n;i++)
			for(int j=1;j<=fac[n];j++)
			{
				dp[i][j]=0;
				for(int k=1;k<=fac[n];k++)
					if(m[j][k]==i)dp[i][j]+=dp[i-1][j]*dp[i-1][k]*p[j][k];
			}
		double ans=0;int ansx=0;
		for(int i=1;i<=fac[n];i++)
			if(dp[n][i]>ans)
			{
				ans=dp[n][i];
				ansx=i;
			}
		cout<<ansx<<endl;
	}
	return 0;
}
